negotiator.boaframework.offeringstrategy.other
Class TimeDependent_Offering

java.lang.Object
  extended by negotiator.boaframework.OfferingStrategy
      extended by negotiator.boaframework.offeringstrategy.other.TimeDependent_Offering

public class TimeDependent_Offering
extends OfferingStrategy

This is an abstract class used to implement a TimeDependentAgent Strategy adapted from [1] [1] S. Shaheen Fatima Michael Wooldridge Nicholas R. Jennings Optimal Negotiation Strategies for Agents with Incomplete Information http://eprints.ecs.soton.ac.uk/6151/1/atal01.pdf The default strategy was extended to enable the usage of opponent models. Note that this agent is not fully equivalent to the theoretical model, loading the domain may take some time, which may lead to the agent skipping the first bid. A better implementation is GeniusTimeDependent_Offering.

Author:
Alex Dirkzwager, Mark Hendrikx

Field Summary
 
Fields inherited from class negotiator.boaframework.OfferingStrategy
endNegotiation, helper, negotiationSession, nextBid, omStrategy, opponentModel
 
Constructor Summary
TimeDependent_Offering()
          Empty constructor used for reflexion.
TimeDependent_Offering(NegotiationSession negoSession, OpponentModel model, OMStrategy oms, double e, double k, double max, double min)
           
 
Method Summary
 BidDetails determineNextBid()
          Simple offering strategy which retrieves the target utility and looks for the nearest bid if no opponent model is specified.
 BidDetails determineOpeningBid()
          Determines the first bid to be offered by the agent
 double f(double t)
          From [1]: A wide range of time dependent functions can be defined by varying the way in which f(t) is computed.
 NegotiationSession getNegotiationSession()
           
 void init(NegotiationSession negoSession, OpponentModel model, OMStrategy oms, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Method which initializes the agent by setting all parameters.
 double p(double t)
          Makes sure the target utility with in the acceptable range according to the domain Goes from Pmax to Pmin!
 
Methods inherited from class negotiator.boaframework.OfferingStrategy
endSession, getHelper, getNextBid, isEndNegotiation, loadData, setNextBid, storeData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeDependent_Offering

public TimeDependent_Offering()
Empty constructor used for reflexion. Note this constructor assumes that init is called next.


TimeDependent_Offering

public TimeDependent_Offering(NegotiationSession negoSession,
                              OpponentModel model,
                              OMStrategy oms,
                              double e,
                              double k,
                              double max,
                              double min)
Method Detail

init

public void init(NegotiationSession negoSession,
                 OpponentModel model,
                 OMStrategy oms,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Method which initializes the agent by setting all parameters. The parameter "e" is the only parameter which is required.

Overrides:
init in class OfferingStrategy
Parameters:
negoSession - state of the negotiation.
model - opponent model which may be used.
oms - opponent model strategy which may be used.
parameters - optional parameters for the offering strategy.
Throws:
java.lang.Exception - if the offering strategy fails to initialize.

determineOpeningBid

public BidDetails determineOpeningBid()
Description copied from class: OfferingStrategy
Determines the first bid to be offered by the agent

Specified by:
determineOpeningBid in class OfferingStrategy
Returns:
the opening bid of the agent.

determineNextBid

public BidDetails determineNextBid()
Simple offering strategy which retrieves the target utility and looks for the nearest bid if no opponent model is specified. If an opponent model is specified, then the agent return a bid according to the opponent model strategy.

Specified by:
determineNextBid in class OfferingStrategy
Returns:
bid to offer to the opponent.

f

public double f(double t)
From [1]: A wide range of time dependent functions can be defined by varying the way in which f(t) is computed. However, functions must ensure that 0 <= f(t) <= 1, f(0) = k, and f(1) = 1. That is, the offer will always be between the value range, at the beginning it will give the initial constant and when the deadline is reached, it will offer the reservation value. For e = 0 (special case), it will behave as a Hardliner.


p

public double p(double t)
Makes sure the target utility with in the acceptable range according to the domain Goes from Pmax to Pmin!

Parameters:
t -
Returns:
double

getNegotiationSession

public NegotiationSession getNegotiationSession()